<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- <script>

        function test() {
            console.log(arguments); //类数组，原型不是Array.prototype
            // arguments.push(7);
        }
        test(1,2,3,4,5,6);


        //对象的属性可以是数字
        //对象的属性加引号和不加引号一样
        var obj = {
            0: 'a',
            1: 'b',
            '2': 'c',
            length: 3,
            push: Array.prototype.push,
            splice: Array.prototype.splice // 加上他就变成方括号了
        }

        var arr = ['a', 'b', 'c'];

        console.log(obj[0], arr[0]);

        obj.push('d'); //返回push后的对象的长度，并且length跟着改变
        console.log(obj);


        /*类数组的组成部分*/
        // 属性要为索引（数字）属性，必须有length属性
        // 最好加上push方法


        /* push方法类似下面，对象也可以调用*/
        // Array.prototype.push = function(target) {
        //     this[this.length] = target;
        //     this.length ++;
        // }


    </script> -->

    <script>
        var obj = {
            '2': 'a',
            '3': 'b',
            '4': 'c',
            length: 2,
            push: Array.prototype.push,
            splice: Array.prototype.splice
        }
        obj.push('c');
        obj.push('d'); // 参考上面的push方法

        // 类数组的好处就是既可以当数组，又可以当对象
        var obj1 = {
            0: 'a',
            1: 'b',
            2: 'c',
            name: 'abc',
            age: 123,
            length: 3,
            push: Array.prototype.push,
            splice: Array.prototype.splice
        }
        console.log(obj1);
    </script>
</body>
</html>